Companies often make business decisions in accordance with a set of ever-changing rules that are created by employees of the company over time. For example, decisions relating to whether or not to approve a customer for a car loan and what the terms of the loan should be may turn on a variety of different factors such as the customer's income, net worth, credit score, available down payment, value of car, amount of the loan, type of loan being sought, and other such considerations and the company may have established a set of rules to help make such decisions. One exemplary rule might be, if a customer's credit score is below 500, then a minimum down payment of 20% is required. When a customer submits a loan application form, the rules may be applied to the customer's data to make determinations about whether to approve the loan and what the terms should be.
In order to implement an automated system of rules processing, it is desirable to store the rules in a file that is independent from the rules-processing engine so that changes to the rules can be made without having the redeploy the code. Further, storing the rules in a separate file may allow employees to easily access and modify the rules in a format that does not require any sophisticated programming knowledge. However, in some cases, organizations may have rules models that include a large number (e.g., millions) of rules which can cause the rules engine to take an undesirably long amount of time to load and process. Further, this process can monopolize a company's resources by requiring a lot of memory to execute.
Accordingly, there is a need for improved systems and methods to provide a rule-based processing engine or device that can process a large number of rules and input requests to generate decisions in a fashion that produces faster results and utilizes less memory. Embodiments of the present disclosure are directed to this and other considerations.